home *** CD-ROM | disk | FTP | other *** search
- unit Testform;
-
- interface
-
- uses
- SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
- Forms, Dialogs, StdCtrls, DOSInfo, OvcBase, OvcEF, OvcSF, OvcTCSim,
- ExtCtrls, Tabs;
-
- type
- TForm1 = class(TForm)
- TabSet1: TTabSet;
- Notebook1: TNotebook;
- GroupBox1: TGroupBox;
- Label1: TLabel;
- Label2: TLabel;
- Label3: TLabel;
- FlopTypeB: TLabel;
- FlopTypeA: TLabel;
- FlopCount: TLabel;
- GroupBox2: TGroupBox;
- Label4: TLabel;
- Label5: TLabel;
- DriveList: TComboBox;
- TheLabel: TEdit;
- GroupBox3: TGroupBox;
- Label6: TLabel;
- Label7: TLabel;
- DriveList2: TComboBox;
- TheSerialNum: TLabel;
- procedure FormCreate(Sender: TObject);
- procedure DriveListChange(Sender: TObject);
- procedure FormKeyPress(Sender: TObject; var Key: Char);
- procedure TabSet1Change(Sender: TObject; NewTab: Integer;
- var AllowChange: Boolean);
- procedure DriveList2Change(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- Form1: TForm1;
-
- implementation
-
- {$R *.DFM}
-
- procedure TForm1.FormCreate(Sender: TObject);
- var
- i: Char;
- begin
- TabSet1.Tabs := NoteBook1.Pages;
-
- { Set up the various labels }
- FlopCount.Caption := IntToStr (GetFloppyDriveCount);
- FlopTypeA.Caption := IntToStr (GetFloppyDriveType (0)) + ' KBytes';
- FlopTypeB.Caption := IntToStr (GetFloppyDriveType (1)) + ' KBytes';
-
- for i := 'C' to 'Z' do
- if GetDriveType (Ord (i) - Ord ('A')) = Drive_Fixed then
- begin
- DriveList.Items.Add (Format ('Drive %s:', [i]));
- DriveList2.Items.Add (Format ('Drive %s:', [i]));
- end;
-
- DriveList.ItemIndex := 0;
- DriveList2.ItemIndex := 0;
- DriveListChange (Sender);
- DriveList2Change (Sender);
- end;
-
- procedure TForm1.DriveListChange(Sender: TObject);
- var
- s: String;
- begin
- s := Copy (DriveList.Items [DriveList.ItemIndex], 7, 1);
- TheLabel.Text := GetDriveLabel (Ord (s[1]) - $40);
- end;
-
- procedure TForm1.DriveList2Change(Sender: TObject);
- var
- s: String;
- snum: LongInt;
- begin
- s := Copy (DriveList2.Items [DriveList2.ItemIndex], 7, 1);
- snum := GetSerialNumber (Ord (s[1]) - $40);
- TheSerialNum.Caption := Format ('%.4x-%.4x', [HiWord (snum), LoWord (snum)]);
- end;
-
- procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
- var
- s: String;
- drive: Integer;
- begin
- if Ord (Key) = vk_Return then
- begin
- Key := #0;
- s := Copy (DriveList.Items [DriveList.ItemIndex], 7, 1);
- drive := Ord (s[1]) - $40;
- if (TheLabel.Text = '') and (GetDriveLabel (drive) <> '') then
- begin
- if MessageDlg (Format ('Remove drive label for drive %s: ?', [s [1]]),
- mtConfirmation, [mbYes, mbNo], 0) = mrYes then
- SetDriveLabel (drive, '');
- end
- else SetDriveLabel (drive, TheLabel.Text);
- end;
- end;
-
- procedure TForm1.TabSet1Change(Sender: TObject; NewTab: Integer; var AllowChange: Boolean);
- begin
- NoteBook1.PageIndex := NewTab;
- end;
-
- end.
-